Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[don't merge] Attempt at trying to get AbiWord to build via MXE #4

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

20kdc
Copy link

@20kdc 20kdc commented Mar 8, 2023

This has been filed as a pull request by request over email (in reply to my submission over email) due to GMail issues, but should not be directly merged as it takes a very "fastest route" approach to solving problems with a disregard for general good sense and probably breaks a thing or two somewhere.

Ultimately, the compiled version created this way doesn't work for several reasons. However, having it compile at all via cross-compilation may allow the possibility of changing that.

The idea is that this may offer a start as the potential basis for a more comprehensive solution to AbiWord cross-compilation to Windows.

Some more detailed rationale since this is going to be public:

  • I'm mainly sending this as simply my own personal attempt to get what I can running. I don't have the GTK or AbiWord knowledge or experience to understand anything that's going on here. I think that getting it to this stage on Wine, however, suggests the possibility of improvement for someone who understands what they're doing (i.e. not me).
  • I avoided trying to restore the Windows toolkit. While I am not an expert on AbiWord, my best guess is that the necessity of maintaining the Windows port (with it's own copy of menus, and for some reason bypassing Cairo in a Gtk app, etc.) broke AbiWord in the first place. As such, I attempted to essentially port the gtk port to Windows, with the aid of the enhanced CRT provided by mingw-w64. (The mingw-w64 CRT is also available to any Windows user using MSYS2.)
  • All testing was conducted with MXE of... sometime in the past 2 days and Wine 8.3 Staging.
  • I actually do not know why the source tree I worked from is so outdated. (Did a push just happen to the mirror?) In any case, as these changes should not be used literally, this is probably a good thing.

Known issues when I compiled this:

  1. Firstly, read mxe/README.md as this lists compilation issues. A little errata: The groff errors I was encountering with enchant happen regardless of the presence or lack thereof of the MXE environment and are in fact the host groff, so fixing them is just a case of installing the groff package... on the host.
  2. Basically no buttons work.
  3. Attempting to save will crash the application.
  4. Attempting to type will provide errors of the form: "(abiword.exe:328): Gdk-[1;33mWARNING[0m **: [34m12:00:32.464[0m: Failed to translate keypress (keycode: 65) for group 0 (00000809) because we could not load the layout."

Again, this is just to get it compiling so that it's possible to incrementally bring the program back to a usable state on Windows.

OnU4Z8uedGxc545J

@hfiguiere
Copy link
Member

that would be nice to rebase on master. FWIW, the mirror was only updated this morning.

@hfiguiere
Copy link
Member

Also after rebasing, ideally this should be split in different commits.

Fixes to Win32 code to build comes to mind as being a separate mergable change.

As for MXE I need more clarification in what you try to achieve with it. It's unclear.

@20kdc
Copy link
Author

20kdc commented Mar 9, 2023

The use of MXE is to create a setup for cross-compiling AbiWord reliably, due to the lack of available Windows developers.

Someone seems to have already made a pass at this, which might be a good sign for the viability of another Win32 toolkit compile test.
@andreasrosdal
Copy link

Hello @20kdc - I would also like to see a Windows version of Abiword. Therefore, I have created a fork of Abiword, to experiment, do innovation, and improve the word processor in various creative ways. So an experimental version of Abiword. I would therefore like to encourage you to cooperate in making the Windows version work correctly again, by updating and submitting this pull request to my fork here: https://github.com/openwordwriter/openwordwriter/

@andreasrosdal
Copy link

The Abiword .executable (abiword.exe) in this installer was created using Microsoft Visual C++ (MSVC), so that might be the best way to get a Windows version working:

http://www.nl.abisource.com/downloads/abiword/2.8.0/Windows/abiword-setup-2.8.0.exe

@hfiguiere
Copy link
Member

I would therefore like to encourage you to cooperate in making the Windows version work correctly again,

By forking like that you set the bar away from your goal. Nothing can prevent you from doing so as long as the license is followed.

@andreasrosdal
Copy link

Thank you for the reply, @hfiguiere I will take that into consideration.

Do you have information about how Abiword was compiled using Visual Studio? Are there project files available?

Why is the Abiword website unavailable?

@hfiguiere
Copy link
Member

Do you have information about how Abiword was compiled using Visual Studio? Are there project files available?

No information.

@andreasrosdal
Copy link

I recently started writing a book, and wanted to use AbiWord, because I remember this as a simple word processor from long ago. Next I started using AbiWord on Linux, and discovered many improvements needed in order to use AbiWord to actually write a real book. Further, I couldn't find a Windows version for download, and the www.abisource.com website is down still. Therefore I thought it could be fun to improve AbiWord, and creating a fork gives the freedom to rapidly improve AbiWord without any coordination. The fork is here: https://github.com/openwordwriter/openwordwriter/

If you would like we could somehow cooperate on making the Windows version work again.

So I am thinking of building AbiWord using Visual Studio C++, either the latest version of my fork based on the gnome gitlab, or usign AbiWord version 2.9.4. Do you know who could have created the Windows build of 2.9.4?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants